home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / tsql / doc / tsql.mail / 000080_csj@iesd.auc.dk _Tue Apr 13 19:35:15 1993.msg < prev    next >
Internet Message Format  |  1996-01-31  |  8KB

  1. Received: from iesd.auc.dk by optima.cs.arizona.edu (5.65c/15) via SMTP
  2.     id AA11219; Tue, 13 Apr 1993 10:36:09 MST
  3. Received: from yellow.iesd.auc.dk by iesd.auc.dk with SMTP id AA01169
  4.   (5.65c8/IDA-1.5/MD for <tsql@cs.arizona.edu>); Tue, 13 Apr 1993 19:35:15 +0200
  5. Date: Tue, 13 Apr 1993 19:35:15 +0200
  6. From: "Christian S. Jensen" <csj@iesd.auc.dk>
  7. Message-Id: <199304131735.AA01169@iesd.auc.dk>
  8. To: tsql@cs.arizona.edu
  9. Subject: Benchmark: Groupedness
  10.  
  11. ********************************************************************
  12. *   The TSQL Benchmark Initiative -- Task 2: Database Instance     *
  13. ********************************************************************
  14.  
  15. Below, I discuss the recent insights on the topic of groupedness
  16. brought to the benchmark discussion by Jim. Jim points to an
  17. inconsistency in the current draft of the benchmark. I propose four
  18. ways of eliminating this inconsistency. We should discuss these
  19. alternatives and make a decision.
  20.  
  21. Best regards,
  22. Christian
  23.  
  24. Jim presents and discusses four points, that we can agree or disagree
  25. upon. 
  26.  
  27. > From info-tsql-sender@cs.arizona.edu Sat Apr 10 00:30:31 1993
  28. > From: Jim Clifford <jcliffor@is-4.stern.nyu.edu>
  29.  
  30. The first point is summarized as follows.
  31.  
  32. > the database instance should accord with ALL AND ONLY those 
  33. > constraints which are explicitly stated.
  34.  
  35. I believe that this is a good very ideal for a consensus effort, and I
  36. will adopt this principle in the next draft if there are no
  37. objections.
  38.  
  39. The third point is the observation that no constraints on Name in the
  40. Emp relation, except that Name is a snapshot key, are stated
  41. explicitly. This is indisputable.
  42.  
  43. The second point is the claim that proposed database instance violates
  44. the AND ONLY part of the first point in at least one way. The way the
  45. instance is currently described, this is a true claim in my opinion.
  46.  
  47. The fourth point has two parts. The first (4a) is that the proposed
  48. database also assumes that attribute Name is time-invariant. This is
  49. a violation of the AND ONLY portion of the first point.
  50.  
  51. As I indicated in my most recent message on this topic, for Name to be
  52. time-varying, it must be time-varying wrt. something. That something
  53. is a person in the modeled reality. This time-invariance cannot be
  54. captured by functional dependencies unless we include an attribute
  55. with values that represent real-world persons (i.e., a surrogate
  56. attribute, not property attributes such as Name or
  57. Social_security_number). Thus, to eliminate the inconsistency in the
  58. benchmark document, we can do at least four things:
  59.  
  60. I. We can add to the schema that a person cannot change name.
  61.  
  62. I certainly would have mentioned this assumption in the straw
  63. proposal, had I thought of it. This way, it would have been an
  64. explicit candidate for discussion. Thanks to Jim for identifying the
  65. inconsistency.
  66.  
  67. It can be argued that this assumption is not worse than the assumption
  68. that two persons cannot have the same name at the same time (the key
  69. assumption). Such assumptions may be made to obtain a simple schema.
  70. In a real application, we may want employee id's or social security
  71. numbers as attribute values.
  72.  
  73. II. We can remove all references to real-world entities and only talk
  74. about attribute values when we describe the database instance. That
  75. way, Ed and Di could be the same person, and the inconsistency is
  76. removed.
  77.  
  78. III. We can retain the reference to real persons and add a name change
  79. for "*ED*" as proposed by Jim.
  80.  
  81. IV. Ordinary keys really cannot represent real-world entities
  82. properly. Surrogates are commonly used for this, so if we want to
  83. represent real-world persons in our design, we should perhaps use
  84. surrogates. This line of reasoning leads to a natural next step: We
  85. should allow two real world persons to have identical (at all times)
  86. Names, Salary, Dept, Gender, and D-birth values. This may lead to
  87. duplicate tuples (which are disallowed) if object identity is not
  88. supported fully. With this extension, our design is realistic: A
  89. person may change name, and two persons may have the same name (and
  90. other attributes).
  91.  
  92. The second part of the fourth point (4b) is that the exclusion of a
  93. key with values that both represent real-world objects and properties
  94. which change over time biases the proposed benchmark in favor of the
  95. tuple-stamped models.
  96.  
  97. For this I have several remarks and some questions.
  98.  
  99. 1. It is argued that the current db instance favors ungroped models
  100. (because it avoids data that are hard to cope with in such models).
  101. "Ungrouped" and "tuple-stamped" models appear to be used as synonyms.
  102.  
  103. Has it been proven, e.g., that a tuple-stamped model must necessarily
  104. be ungrouped? I think a grouped, tuple-stamped model can be designed.
  105.  
  106. Is it true that all attribute value stamped models are grouped? In
  107. Shashi's model, assume that a relation has a Name and a Dept attribute
  108. where both Name and Dept are keys (but persons and departments may
  109. change names). Is it possible in this model to retrieve for each
  110. department the number of persons ever to work in the department? Note
  111. that the query asks for real-world persons and departments. (I chose
  112. Shashi's model because I like it and it is widely known.) 
  113.  
  114. Another query: When was the person currently know as Ed in the
  115. department currently known as the Toy department?
  116.  
  117. If these queries cannot be expressed, is the attribute value stamped
  118. model then grouped?
  119.  
  120. (Jim writes:
  121.                               For a query abut *ED* to return COMPLETE
  122. information about him, in Temporally Grouped Models IT IS ONLY
  123. NECESSARY for the end user to know the name of *ED* at some point in
  124. time (perhaps, e.g., NOW). The MODEL is responsible for the rest,
  125. because the model manages the temporal dimension of the data about
  126. *ED*, and places (I believe) only minimal and reasonable demands on
  127. the end user.)
  128.  
  129. 2. Jim argues very convincingly that the current db instance does not
  130. help show how grouped models are superior to ungrouped in some
  131. respects. (...just as is shown in a clear way how groupedness is a
  132. benefit.)
  133.  
  134. However, the current db instance also does not help show how, e.g.,
  135. models that can represent future valid times are superior in some
  136. respects to models that can only represent valid time not exceeding
  137. the current time. (Thus, we currently favor models that cannot
  138. represent times exceeding the present time.) For example, in the latter
  139. models one cannot store a fact such as "Ed will be employeed in the
  140. toy department for the next year." So far this kind of data has been
  141. avoided to get an initial instance that all models can be happy with.
  142.  
  143. Among the other omissions are continuous attributes such as
  144. temperature (with the need for multiple interpolation functions to be
  145. used on sampled values). Thus, we currently also favor models that
  146. cannot represent sampled data that need multiple interpolation
  147. functions. The idea has been to try to not put any models in a bad
  148. light in the first benchmark.
  149.  
  150. These examples show that in the first version of the benchmark,
  151. several aspects, not just the groupedness aspect, that may put some
  152. models in a bad light are avoided. Of cause, there may still be good
  153. reasons to want to shed light on the groupedness aspect in the first
  154. version. For example, it can be argued that groupedness is a subtle
  155. but important aspect of user-friendliness that needs to be brought to
  156. our attention as fast as possible.